package com.lagou.homework.first;

/**
 * 二维数组的相关数值打印
 */
public class ArraySum {
    public static void main(String[] args) {
        //1.定义一个长度为[16][16]的整型二维数组
        int[][] arr = new int[16][16];

        //2.指定所有位置的元素值
        for(int i = 0; i < arr.length; i++) {
            for(int j = 0; j < arr[i].length; j++) {
                arr[i][j] = i + j + 2;
            }
        }

        //3.计算每行的元素累加并打印
        for(int i = 0; i < arr.length; i++) {
            int sum = 0;
            for(int j = 0; j < arr[i].length; j++) {
                sum += arr[i][j];
            }
            System.out.println("第" + (i + 1) + "行的和为：" + sum);
        }

        System.out.println("---------------------------");

        //4.计算每列的元素累加并打印
        int cnt = 0;
        while(cnt < 16) {
            int sum = 0;
            for(int i = 0; i < arr.length; i++) {
                sum += arr[i][cnt];
            }
            System.out.println("第" + (cnt + 1) + "列的和为：" + sum);
            cnt++;
        }

        System.out.println("---------------------------");

        //5.左上角到右下角元素累加和并打印
        int sum = 0;
        for(int i = 0; i < arr.length; i++) {
            for(int j = 0; j < arr[i].length; j++) {
                if(i == j) {
                    sum += arr[i][j];
                }
            }
        }
        System.out.println("左上角到右下角元素累加和为：" + sum);

        System.out.println("---------------------------");

        //6.右上角到左下角元素累加和并打印
        sum = 0;
        for(int i = 0; i < arr.length ; i++) {
            for(int j = arr[i].length - 1; j >= 0; j--) {
                if(i == j) {
                    sum += arr[i][j];
                }
            }
        }
        System.out.println("右上角到左下角元素累加和为：" + sum);
    }
}
